/*- * See the file LICENSE for redistribution information. * * Copyright (c) 2000-2006 * Sleepycat Software. All rights reserved. * * $Id: DbConfigManager.java,v 1.1 2006/05/06 09:00:24 ckaestne Exp $ */ package com.sleepycat.je.dbi; import com.sleepycat.je.DatabaseException; import com.sleepycat.je.EnvironmentConfig; import com.sleepycat.je.config.BooleanConfigParam; import com.sleepycat.je.config.ConfigParam; import com.sleepycat.je.config.IntConfigParam; import com.sleepycat.je.config.LongConfigParam; import com.sleepycat.je.config.ShortConfigParam; /** * DbConfigManager holds the configuration parameters for an environment. */ public class DbConfigManager { private EnvironmentConfig environmentConfig; /** * Todo: should this even be a separate class? */ public DbConfigManager(EnvironmentConfig config) throws DbConfigException { environmentConfig = config; } public EnvironmentConfig getEnvironmentConfig() { return environmentConfig; } /* * Parameter Access */ /** * Get this parameter from the environment wide configuration settings. * @param configParam * * @return default for param if param wasn't explicitly set */ public synchronized String get(ConfigParam configParam) throws IllegalArgumentException { return environmentConfig.getConfigParam(configParam.getName()); } /** * Get this parameter from the environment wide configuration settings. * @param configParam * * @return default for param if param wasn't explicitly set */ public synchronized String get(String configParamName) throws IllegalArgumentException { return environmentConfig.getConfigParam(configParamName); } /** * Get this parameter from the environment wide configuration settings. * * @param configParam * * @return default for param if it wasn't explicitly set. */ public boolean getBoolean(BooleanConfigParam configParam) throws DatabaseException { /* See if it's specified. */ String val = get(configParam); return Boolean.valueOf(val).booleanValue(); } /** * Get this parameter from the environment wide configuration settings. * * @param configParam * * @return default for param if it wasn't explicitly set. */ public short getShort(ShortConfigParam configParam) throws DatabaseException { String val = get(configParam); short shortValue = 0; try { shortValue = Short.parseShort(val); } catch (NumberFormatException e) { /* * This should never happen if we put error checking into * the loading of config values. */ assert false: e.getMessage(); } return shortValue; } /** * Get this parameter from the environment wide configuration settings. * * @param configParam * * @return default for param if it wasn't explicitly set. */ public int getInt(IntConfigParam configParam) throws DatabaseException { // See if it's specified String val = get(configParam); int intValue = 0; if (val != null) { try { intValue = Integer.parseInt(val); } catch (NumberFormatException e) { /* * This should never happen if we put error checking into * the loading of config values. */ assert false: e.getMessage(); } } return intValue; } /** * Get this parameter from the environment wide configuration settings. * * @param configParam * * @return default for param if it wasn't explicitly set */ public long getLong(LongConfigParam configParam) throws DatabaseException { /* See if it's specified. */ String val = get(configParam); long longValue = 0; if (val != null) { try { longValue = Long.parseLong(val); } catch (NumberFormatException e) { /* * This should never happen if we put error checking * into the loading of config values. */ assert false : e.getMessage(); } } return longValue; } }